﻿Imports ChatEngine.Client
Imports ChatEngine.Connections
Namespace AppDomains.Communication
    Public Class RemotingObject
        Inherits MarshalByRefObject
        Shared Event NewChannelEvent(ByVal ChannelName As String, ByVal ChannelObj As ChatEngine.Client.Channel.IRCChannel, ByVal Server As String)
        Shared Event ChangedNick(ByVal PrevNick As String, ByVal NewNick As String, ByVal Servername As String)
        Shared Event newUserJoined(ByVal User As String, ByVal ChannelName As String, ByVal ServerName As String)
        Shared Event KickedFromChan(ByVal E As KickedEventArgs, ByVal ServerName As String)
        Shared Event NewQueryRcvd(ByVal User As String, ByVal Message As String, ByVal IsFirstMessage As Boolean, ByVal ServerName As String)
        Shared Event NewMessageRcvd(ByVal User As String, ByVal Message As String, ByVal ChannelName As String, ByVal ServerName As String)
        Shared Event JoinNewChannel(ByVal ChannelName As String, ByVal ChannelObj As Channel.IRCChannel, ByVal ServerName As String)
        Shared Event InviteToChan(ByVal ChannelName As String, ByVal ServerName As String)
        Shared Event TopicChange(ByVal Topic As String, ByVal ChannelName As String, ByVal ServerName As String)
        Shared Event RecvNickList(ByVal Channel As String, ByVal E As NickListRecvArgs, ByVal ServerName As String)
        Shared Event ModeChannelChanged(ByVal E As ChannelModeArgs, ByVal ServerName As String)
        Shared Event UserModeChanged(ByVal E As UserModeArgs, ByVal ServerName As String)
        Shared Event BanListRecvd(ByVal E As BanListArgs, ByVal ServerName As String)
        Shared Event IRCNoticedRecv(ByVal E As GenericEventArgs, ByVal ServerName As String)
        Shared Event NewConnection(ByVal server As String)
        Shared Event NewConsoleLine(ByVal Info As String)
        Public Sub ChangeNick(ByVal PrevNick As String, ByVal NewNick As String, ByVal ServerName As String)
            RaiseEvent ChangedNick(PrevNick, NewNick, ServerName)
        End Sub
        Public Sub ChangeTopic(ByVal Topic As String, ByVal ChannelName As String, ByVal ServerName As String)
            RaiseEvent TopicChange(Topic, ChannelName, ServerName)
        End Sub
        Public Sub ChangeUserMode(ByVal E As ChatEngine.Connections.UserModeArgs, ByVal ServerName As String)
            RaiseEvent UserModeChanged(E, ServerName)
        End Sub
        Public Sub ChannelModeChanged(ByVal E As ChatEngine.Connections.ChannelModeArgs, ByVal ServerName As String)
            RaiseEvent ModeChannelChanged(E, ServerName)
        End Sub
        Public Sub Disconnect()

        End Sub
        Public Sub HandleNotice(ByVal E As ChatEngine.Connections.GenericEventArgs, ByVal ServerName As String)
            RaiseEvent IRCNoticedRecv(E, ServerName)
        End Sub
        Public Sub Kicked(ByVal E As ChatEngine.Connections.KickedEventArgs, ByVal ServerName As String)
            RaiseEvent KickedFromChan(E, ServerName)
        End Sub
        Public Sub LoadNickList(ByVal Channel As String, ByVal E As ChatEngine.Connections.NickListRecvArgs, ByVal ServerName As String)
            RaiseEvent RecvNickList(Channel, E, ServerName)
        End Sub
        Public Sub NewMessage(ByVal User As String, ByVal Message As String, ByVal ChannelName As String, ByVal ServerName As String)
            RaiseEvent NewMessageRcvd(User, Message, ChannelName, ServerName)
        End Sub
        Public Sub NewQuery(ByVal User As String, ByVal FirstMsg As String, ByVal IsFirstMessage As Boolean, ByVal ServerName As String)

        End Sub
        Public Sub PartFromChannel(ByVal User As String, ByVal Channel As String, ByVal ServerName As String)

        End Sub
        Public Function RenderMessage(ByVal Message As String, ByVal ChannelName As String, ByVal User As String, ByVal ServerName As String) As String

        End Function
        Public Sub UserJoined(ByVal User As String, ByVal ChannelName As String, ByVal ServerName As String)
            RaiseEvent newUserJoined(User, ChannelName, ServerName)
        End Sub
        Public Sub UserQuit(ByVal User As String, ByVal Reason As String, ByVal ServerName As String)
        End Sub
        Public Sub AddConsoleLine(ByVal Info As String)
            RaiseEvent NewConsoleLine(Info)
        End Sub
        Public Sub NewChannel(ByVal ChannelName As String, ByVal ServerName As String, ByVal Channel As ChatEngine.Client.Channel.IRCChannel)
            RaiseEvent NewChannelEvent(ChannelName, Channel, ServerName)
        End Sub
        Public Sub CreateNewConnection(ByVal ServerName As String)
            RaiseEvent NewConnection(ServerName)
        End Sub
        Public Sub SendMessage(ByVal User As String, ByVal Message As String, ByVal Server As String)

        End Sub
    End Class
End Namespace